Integrating Report Actions for a Series of Reports Within a Single User Interface

ABSTRACT

A user interface may be provided for initiating communication of a business process from a single report user interface. The user interface may include a report area, a selected report in the report area and a group of integrated action buttons for initiating communication of one or more business processes against the selected report. The integrated action buttons in the user interface may be selected by a user to apply the one or more business processes against the selected report. The one or more business processes may then be initiated against the selected report from the user interface.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to a U.S. utility patent applicationentitled “Displaying a Series of Reports within a Single User Interface”having Ser. No. ______ (attorney docket number14917.1604US01/330888.01), which was filed on Jan. 5, 2011. Theaforementioned application is entirely incorporated herein by reference.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND

Business enterprises may utilize enterprise resource planning (“ERP”)and customer relationship management (“CRM”) software applications toorganize, automate, and synchronize business processes, including datarelated to sales activities, marketing, human resources, customerservice and technical support. The aforementioned business processesoften result in the generation of various reports which may be utilizedby administrators or other business personnel to facilitate themanagement of business data. For example, various reports may begenerated to show historical changes in a particular business metric(such as sales data) over a user-specified time period. Data from thesereports may then be visually presented to a user as a snapshot (e.g., agraph). However, current applications are unable to provide multiplesnapshots of report data in a single view. Furthermore, users mustnavigate away from an application displaying a snapshot in order toaccess one or more different applications to initiate actions which arerelevant to the report data upon which the snapshot is based. It is withrespect to these considerations and others that the various embodimentsof the present invention have been made.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended asan aid in determining the scope of the claimed subject matter.

Embodiments are provided for displaying a user interface which may beutilized for initiating communication of a business process from asingle report user interface. The user interface may include a reportarea, a selected report in the report area and a group of integratedaction buttons for initiating communication of one or more businessprocesses against the selected report. The integrated action buttons inthe user interface may be selected by a user to apply the one or morebusiness processes against the selected report. The one or more businessprocesses may then be initiated against the selected report from theuser interface.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are illustrative onlyand are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a network architecture forinitiating communication of a business process from a single report userinterface, in accordance with various embodiments;

FIG. 2 is a block diagram illustrating a computing environment which maybe utilized for initiating communication of a business process from asingle report user interface, in accordance with various embodiments;

FIG. 3 is a computer screen display of a user interface which may beutilized for initiating communication of a business process, inaccordance with various embodiments; and

FIG. 4 is a flow diagram illustrating a routine for initiatingcommunication of a business process from a single report user interface,in accordance with an embodiment.

DETAILED DESCRIPTION

Embodiments are provided for displaying a user interface which may beutilized for initiating communication of a business process from asingle report user interface. The user interface may include a reportarea, a selected report in the report area and a group of integratedaction buttons for initiating communication of one or more businessprocesses against the selected report. The integrated action buttons inthe user interface may be selected by a user to apply the one or morebusiness processes against the selected report. The one or more businessprocesses may then be initiated against the selected report from theuser interface.

FIG. 1 is a block diagram illustrating a network architecture forinitiating communication of a business process from a single report userinterface, in accordance with various embodiments. The networkarchitecture includes a client computer 2 in communication with a reportserver 70 which is in communication with a back office server 80 over anetwork 4. The network 4 may include a local network or a wide areanetwork (e.g., the Internet). The client computer 2 may include a clientapplication 30 or alternatively, an ERP/CM application 40 which includesthe client application 30.

As will be described in greater detail with below respect to FIGS. 3-4,the client application 30 may comprise a software application operativeto generate a user interface for displaying one or more reports (e.g.,report images). The user interface may also include integrated actionbuttons for applying business processes against the reports.

In accordance with an embodiment, the ERP/CM application 40 may comprisean enterprise resource planning (“ERP”) and customer relationshipmanagement (“CRM”) software application which may be utilized toorganize, automate, and synchronize business processes, including, butnot limited to, data related to sales activities, marketing, humanresources, customer service and technical support. The ERP/CMapplication 40 may optionally include the client application 30,discussed above. It should be understood, that in accordance withvarious embodiments, the client application 30 may act as a stand-aloneapplication or may be utilized with the ERP/CM application 40. Inaccordance with an embodiment, the client application 30 and the ERP/CMapplication 40 may comprise the DYNAMICS line of ERP and CM softwareapplications developed by MICROSOFT CORPORATION of Redmond, Wash. Itshould be appreciated, however, that ERP and/or CRM applications fromother manufacturers may also be utilized in accordance with the variousembodiments described herein.

The report server 70 may be utilized to store reports 72 which aregenerated from report data. The reports 72 may comprise various reportsrelated to business processes such as sales reports, marketing reports,human resources reports, customer service reports and technical supportreports. The reports 72 may also include other reports not enumerated inthe aforementioned list which are related to enterprise resourceplanning and customer relationship management in an organization. Inaccordance with an embodiment, the report server 70 may comprise adatabase server such as the SQL SERVER relational model database servermarketed by MICROSOFT CORPORATION of Redmond, Wash. It should beappreciated, however, that database servers from other manufacturers mayalso be utilized in accordance with the various embodiments describedherein.

The back office server 82 may be utilized to store report data 82. Thereport data 82 may be utilized by the client application 30 and theERP/CM application 40 to generate the reports 72 which are stored on thereport server 70. As should be understood by those skilled in the art, a“back office” may include a part of a corporation or other businessenterprise where tasks dedicated to running the company itself takeplace.

Exemplary Operating Environment

Referring now to FIG. 2, the following discussion is intended to providea brief, general description of a suitable computing environment inwhich various illustrative embodiments may be implemented. While variousembodiments will be described in the general context of program modulesthat execute in conjunction with program modules that run on anoperating system on a computer, those skilled in the art will recognizethat the various embodiments may also be implemented in combination withother types of computer systems and program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the various embodiments may be practicedwith a number of computer system configurations, including hand-helddevices, multiprocessor systems, microprocessor-based or programmableconsumer electronics, minicomputers, mainframe computers, and the like.The various embodiments may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

FIG. 2 shows the client computer 2 which may include a general purposedesktop, laptop, tablet, or other type of computer capable of executingone or more application programs. The client computer 2 includes atleast one central processing unit 8 (“CPU”), a system memory 12,including a random access memory 18 (“RAM”) and a read-only memory(“ROM”) 20, and a system bus 10 that couples the memory to the CPU 8. Abasic input/output system containing the basic routines that help totransfer information between elements within the computer, such asduring startup, is stored in the ROM 20.

The client computer 2 further includes a mass storage device 14 forstoring an operating system 32 and the client application 30 (oroptionally, the ERP/CM application 40 which incorporates the clientapplication 30). In accordance with various embodiments, the operatingsystem 32 may be suitable for controlling the operation of a networkedcomputer, such as the WINDOWS operating systems from MICROSOFTCORPORATION of Redmond, Wash. The mass storage device 14 is connected tothe CPU 8 through a mass storage controller (not shown) connected to thebus 10. The mass storage device 14 and its associated computer-readablemedia provide non-volatile storage for the client computer 2. The termcomputer-readable media as used herein may include computer storagemedia. Computer storage media may include volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Computerstorage media may include, but is not limited to, RAM, ROM, electricallyerasable read-only memory (EEPROM), flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore information and which can be accessed by the client computer 2.Any such computer storage media may be part of the client computer 2.

The term computer-readable media as used herein may also includecommunication media. Communication media may be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and includes any information delivery media. The term“modulated data signal” may describe a signal that has one or morecharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia may include wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, radio frequency (RF),infrared, and other wireless media.

According to various embodiments, the client computer 2 may operate in anetworked environment using logical connections to remote computersthrough the network 4 which may comprise, for example, a local networkor a wide area network (e.g., the Internet). The client computer 2 mayconnect to the network 4 through a network interface unit 16 connectedto the bus 10. It should be appreciated that the network interface unit16 may also be utilized to connect to other types of networks and remotecomputing systems. The client computer 2 may also include aninput/output controller 22 for receiving and processing input from anumber of input types, including a keyboard, mouse, pen, stylus, finger,and/or other means. Similarly, the input/output controller 22 mayprovide output to a display device 82, a printer, or other type ofoutput device. Additionally, a touch screen can serve as an input and anoutput mechanism. It should be appreciated that the report server 70 andthe back office server 80, shown in FIG. 1, may include many of theconventional components shown and discussed above with respect to theclient computer 2.

FIG. 3 is a computer screen display of a user interface 300 which may beutilized for initiating communication of a business process, inaccordance with various embodiments. The user interface 300 may begenerated by the client application 30 (or alternatively, the clientapplication 30 in use with the EP/CRM application 40) for display on thedisplay device 82 connected to the client computer 2. The user interface300 may display a report 330 consisting of a chart (e.g., a pie chart of“Top 5 Employee Costs”) in a report area 320. The user interface 30 mayfurther include integrated action buttons 302-314 for initiating thecommunication of various business processes with respect to the report330. In particular, integrated action buttons may comprise a “View”action button 302, an “Edit” action button 304, a “Change Date” actionbutton 306, a “Trends” action button 308, a “Communicator” action button310, a “Select Company” action button 312 (optional) and a custom action“C.A.” button 314. The View action button 302 may initiate a process inwhich a user is routed to a location (e.g., the report server 70) wherethe report is deployed and from where the report is rendered. Inaccordance with an embodiment, the client application 30 may be utilizedin a “native” mode in which the View action button 302 may alternativelyroute a user to a report manager web page or a shared location where thereport is deployed. The Edit action button 304 may initiate a processfor editing a report. In particular, the process may launch a separate“Report Builder” application (not shown) and retrieve the report 330shown in the report area 320 along with report parts that are availablefor a list type that the report was rendered from, for editing. Forexample, a user who is on a customer list, upon selecting the Editaction button 304, may initiate the following processes: (1) thelaunching of an SQL Report Builder application, (2) the retrieval of thereport that the user has associated with the user interface 300, and (3)the display of various report parts related to customers on the customerlist. The Change Date action button 306 may initiate a process in whicha user is presented with selectable date tokens (e.g., today, yesterday,last week, last year and custom (for which the user may select the dateof their choice)) for use in re-rendering the report 330 displayed inthe report area 320 based on a selected data. When a user changes thedate, the client application 30 may pass the new date to a dateparameter associated with the report and re-render the report. The newdate may be calculated automatically based on a computer system date.The Trends action button 308 may initiate a process in which a user ispresented with selectable date ranges (e.g., last 7 days, last 30 days,last 90 days, last 6 months, last 12 months or a custom range) for usein re-rendering the report 330 as a trend report covering a selecteddate range. The Communicator action button 310 may initiate a processfor any of a number of communication actions, including, but not limitedto, sending an instant message, starting a video call, starting a voicecall, sending a text message and sending an e-mail message, eitherdirectly from the user interface 300, from a unified communicator orfrom another communication application. In accordance with anembodiment, after a communication (e.g., an instant messagingconversation) is initiated, the name of the report 330 may be passed asthe subject of the communication. In accordance with another embodiment,an initiated communication may include an image file (e.g., a JPEG file)of the report 330 as an attachment to the communication. The SelectCompany action button 312 may initiate a process which presents a menulisting company names for viewing various metrics. In accordance with anembodiment, a group of companies may be selected by a user so that theuser may compare performance across multiple companies. The C.A. button314 may be generated by the client application 30 for display in theuser interface 300 for initiating any of a number of various intelligentbusiness processes which the client application 30 may determine basedon a selected report and report data. A non-exhaustive list ofintelligent business processes which may be determined includes: sendinga communication, creating a workflow, filling an inventory shortage,updating a credit limit, initiating a copy action, and initiating apurchase order. The determination of intelligent business processes bythe client application 30 will be discussed in greater detail below withrespect to FIG. 4.

FIG. 4 is a flow diagram illustrating a routine illustrating a routine400 for initiating communication of a business process from a singlereport user interface, in accordance with an embodiment. When readingthe discussion of the routine presented herein, it should be appreciatedthat the logical operations of various embodiments of the presentinvention are implemented (1) as a sequence of computer implemented actsor program modules running on a computing system and/or (2) asinterconnected machine logical circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance requirements of the computing system implementing theinvention. Accordingly, the logical operations illustrated in FIG. 4 andmaking up the various embodiments described herein are referred tovariously as operations, structural devices, acts or modules. It will berecognized by one skilled in the art that these operations, structuraldevices, acts and modules may be implemented in software, in firmware,in special purpose digital logical, and any combination thereof withoutdeviating from the spirit and scope of the present invention as recitedwithin the claims set forth herein.

The routine 400 begins at operation 405, where the client application 30executing on the client computer 2 may retrieve report data from aselected report by a user. For example, a user may, from the userinterface 300 of FIG. 3, select the report 330 for viewing in the reportarea 320. The client application 30 may then retrieve the report data 82from the back office server 80 for the selected report.

From operation 405, the routine 400 continues to operation 410, wherethe client application 30 may determine, from the retrieved report data82, one or more intelligent business processes (i.e., actions) to applyagainst the selected report 330 displayed in the user interface 300. Forexample, the client application 30 may determine from a selected reportthat the shipment of a product is late due to a product shortage, theclient application 30 may then be configured to analyze the report dataand determine a number of intelligent business processes the user maywish to take based on the selected report. Thus, for a late productshipment due to a product shortage, the client application 30 maydetermine that a communication should be sent to the customer affectedby the late shipment and further determine that a product order shouldbe placed in order to fill the shortage. As another example, the clientapplication 30 may determine, from a selected report and associatedreport data, that a current inventory for a product is below athreshold. As a result, the client application 30 may determine that apurchase order should be placed to replenish a current stock of theproduct. As yet another example, the client application 30 maydetermine, from a selected compensation analysis report and associatedreport data, that a compensation change is needed in order to provideemployees with a two percent raise. As a result, the client application30 may determine a workflow for initiating a compensation change for theaffected group of employees. As yet another example, the clientapplication 30 may determine, from a customer loyalty report andassociated report data, the top five customers for a particular company.The client application 30 may further determine that one of the top fivecustomers is currently online (e.g., logged into the company's website).As a result, the client application may determine that the onlinecustomer should receive a message offering a discount on a product theonline customer may be interested in.

From operation 410, the routine 400 continues to operation 415, wherethe client application 30 may display the user interface 300 includingthe report area 320, the selected report 330 and the action buttons302-314.

From operation 415, the routine 400 continues to operation 420, wherethe client application 30 may receive a selection of an action button302-314 in the user interface 300. In particular, a user may select oneof the action buttons 302-312 to initiate predetermined businessprocesses against the selected report 330 directly from the userinterface 300. For example, a user may initiate a process for viewing areport, editing a report, re-rendering a report for a selected date,re-rendering a report over a selected date range (i.e., generate a trendreport), sending a communication (such as an instant messenger message)associated with a report, and re-rendering a report based on one or moreselected companies. Alternatively, or in addition, the user may selectthe custom action (C.A.) button 314 to initiate an intelligent businessprocess, as determined by the client application 30, against theselected report 330 from the user interface 300. In accordance with anembodiment, the C.A. button 314 may be associated with one or more ofintelligent business processes, discussed above at operation 410, whichmay be determined by the client application 30 For example, as discussedabove at operation 410, intelligent business processes may include thefollowing actions initiated directly from the user interface 300:sending a communication to a customer affected by a late shipment,placing a product order to fill an inventory shortage for a product,initiating a purchase order to replenish a current stock of a product,initiate a workflow for initiating a compensation change for a group ofemployees, or initiate a communication with a loyal customer, offer theloyal customer a discount on the purchase of a product, and create apurchase order for the product. It should be understood that all of theaforementioned business processes may be initiated directly from theuser interface 300 (i.e., without the user leaving the displayedselected report 330 in order to access another application).

From operation 420, the routine 400 continues to operation 425, wherethe client application 30 may initiate one or more of the businessprocesses in response to the selection of one or more of the actionbuttons 302-314 made at operation 420, from the user interface 300. Fromoperation 425, the routine 400 ends.

Although the invention has been described in connection with variousillustrative embodiments, those of ordinary skill in the art willunderstand that many modifications can be made thereto within the scopeof the claims that follow. Accordingly, it is not intended that thescope of the invention in any way be limited by the above description,but instead be determined entirely by reference to the claims thatfollow.

1. A method for initiating communication of a business process from asingle report user interface, comprising: displaying, by a computer, auser interface comprising: a report area; a selected report in thereport area; and a plurality of integrated action buttons for initiatingcommunication of at least one business process against the selectedreport; receiving, by the computer, a selection of at least one of theplurality of integrated action buttons in the user interface forapplying the at least one business process against the selected report;and initiating the at least one business process against the selectedreport from the user interface, the at least one business processcomprising routing, from the user interface, to a report server fordeploying and rendering the selected report, to view report dataassociated with the selected report.
 2. The method of claim 1, whereindisplaying, by the computer, a plurality of integrated action buttonsfor initiating communication of at least one business process againstthe selected report comprises displaying a plurality of integratedaction buttons for initiating communication of a plurality ofpredetermined business processes against the selected report.
 3. Themethod of claim 2, wherein displaying, by the computer, a plurality ofintegrated action buttons for initiating communication of a plurality ofpredetermined business processes against the selected report comprisesdisplaying at least one of an edit action button, a view action button,a change date action button, a trends action button, a communicationaction button and a company selection action button.
 4. The method ofclaim 1, further comprising: prior to displaying, by the computer, theselected report in the report area, retrieving report data from theselected report; and determining, from the report data, at least oneintelligent business process to apply against the selected report. 5.The method of claim 1, wherein displaying, by the computer, a pluralityof integrated action buttons for initiating communication of at leastone business process against the selected report comprises displaying acustom action button for initiating communication of at least oneintelligent business process against the selected report.
 6. The methodof claim 1, wherein receiving, by the computer, a selection of at leastone of the plurality of integrated action buttons in the user interfacefor applying the at least one business process against the selectedreport comprises receiving a selection of at least one custom actionbutton for initiating communication of at least one intelligent businessprocess against the selected report.
 7. The method of claim 1, whereininitiating the at least one business process against the selected reportfrom the user interface comprises initiating at least one intelligentbusiness process against the selected report from the user interface,wherein initiating the at least one intelligent business processcomprises initiating at least one of sending a communication, creating aworkflow, filling an inventory shortage and initiating a purchase order.8. A computer system for initiating communication of a business processfrom a single report user interface, comprising: a memory for storingexecutable program code; and a processor, functionally coupled to thememory, the processor being responsive to computer-executableinstructions contained in the program code and operative to: display auser interface comprising: a report area; a selected report in thereport area; and a plurality of integrated action buttons for initiatingcommunication of at least one business process against the selectedreport; receive a selection of at least one of the plurality ofintegrated action buttons in the user interface for applying the atleast one business process against the selected report; and initiate theat least one business process against the selected report from the userinterface, the at least one business process comprising routing, fromthe user interface, to a report server for deploying and rendering theselected report, to view report data associated with the selectedreport.
 9. The system of claim 8, wherein the processor, in displaying aplurality of integrated action buttons for initiating communication ofat least one business process against the selected report, is operativeto display a plurality of integrated action buttons for initiatingcommunication of a plurality of predetermined business processes againstthe selected report.
 10. The system of claim 9, wherein the processor,in displaying a plurality of integrated action buttons for initiatingcommunication of a plurality of predetermined business processes againstthe selected report, is operative to display at least one of an editaction button, a view action button, a change date action button, atrends action button, a communication action button and a companyselection action button.
 11. The system of claim 8, wherein theprocessor is further operative to: prior to displaying the selectedreport in the report area, retrieve report data from the selectedreport; and determine, from the report data, at least one intelligentbusiness process to apply against the selected report.
 12. The system ofclaim 8, wherein the processor, in displaying a plurality of integratedaction buttons for initiating communication of at least one businessprocess against the selected report, is operative to display a customaction button for initiating communication of at least one intelligentbusiness process against the selected report.
 13. The system of claim 8,wherein the processor, in receiving a selection of at least one of theplurality of integrated action buttons in the user interface forapplying the at least one business process against the selected report,is operative to receive a selection of at least one custom action buttonfor initiating communication of at least one intelligent businessprocess against the selected report.
 14. The system of claim 8, whereinthe processor, in initiating the at least one business process againstthe selected report from the user interface, is operative to initiate atleast one intelligent business process against the selected report fromthe user interface, wherein, in initiating the at least one intelligentbusiness process, the processor is further operative to initiate atleast one of sending a communication, creating a workflow, filling aninventory shortage and initiating a purchase order.
 15. Acomputer-readable storage medium comprising computer executableinstructions which, when executed by a computer, will cause the computerto perform a method for initiating communication of a business processfrom a single report user interface, the method comprising: displaying auser interface comprising: a report area; a selected report in thereport area; and a plurality of integrated action buttons for initiatingcommunication of at least one business process against the selectedreport, wherein displaying a plurality of integrated action buttons forinitiating communication of at least one business process against theselected report comprises displaying a plurality of integrated actionbuttons for initiating communication of a plurality of predeterminedbusiness processes against the selected report; receiving, by thecomputer, a selection of at least one of the plurality of integratedaction buttons in the user interface for applying the at least onebusiness process against the selected report; and initiating the atleast one business process against the selected report from the userinterface, the at least one business process comprising routing, fromthe user interface, to a report server for deploying and rendering theselected report, to view report data associated with the selectedreport.
 16. The computer-readable storage medium of claim 15, whereindisplaying a plurality of integrated action buttons for initiatingcommunication of a plurality of predetermined business processes againstthe selected report comprises displaying at least one of an edit actionbutton, a view action button, a change date action button, a trendsaction button, a communication action button and a company selectionaction button.
 17. The computer-readable storage medium of claim 15,further comprising: prior to displaying the selected report in thereport area, retrieving report data from the selected report; anddetermining, from the report data, at least one intelligent businessprocess to apply against the selected report.
 18. The computer-readablestorage medium of claim 15, wherein displaying a plurality of integratedaction buttons for initiating communication of at least one businessprocess against the selected report further comprises displaying acustom action button for initiating communication of at least oneintelligent business process against the selected report.
 19. Thecomputer-readable storage medium of claim 15, wherein receiving aselection of at least one of the plurality of integrated action buttonsin the user interface for applying the at least one business processagainst the selected report comprises receiving a selection of at leastone custom action button for initiating communication of at least oneintelligent business process against the selected report.
 20. Thecomputer-readable storage medium of claim 15, wherein initiating the atleast one business process against the selected report from the userinterface comprises initiating at least one intelligent business processagainst the selected report from the user interface, wherein initiatingthe at least one intelligent business process comprises initiating atleast one of sending a communication, creating a workflow, filling aninventory shortage and initiating a purchase order.